/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package DAO;

import InstanciaJogo.FasesJogo.InstanciaSubFasePattern;

/**
 * DAOInstanciaSubFaseInterface
 *
 * Versao 1.0
 *
 * Data Criação 10/02/2014
 *
 * @author Igor
 */
public interface DAOInstanciaSubFase {
    /**
     *
     * @param idJogo
     * @return
     */
    public InstanciaSubFasePattern buscaInstanciaSubFase(long idJogo) throws Exception;

    /**
     *
     * @param idJogo
     * @param idFase
     * @param idSubFase
     * @return
     */
    public long gravaInstanciaSubFase(long idJogo, long idFase, long idSubFase) throws Exception;

    /**
     * 
     * @param idInstanciaSubFase
     * @return 
     */
    public long buscaPorcentagemAcerto(long idInstanciaSubFase) throws Exception;
    
    /**
     * Atualiza o tempo decorrida da subfase
     * @param idInstanciaSubFase
     * @param tempoSubFase
     * @throws Exception 
     */
    public void atualizaTempoSubFase(long idInstanciaSubFase, long tempoSubFase) throws Exception;
    
    /**
     * Busca o valor da ultima sub-fase a ser apresentada
     */
    public long buscaSubFaseUltima(long idFase) throws Exception ;
}
